package com.item1024.utils;

import com.google.gson.Gson;
import com.item1024.bean.FileUploadState;
import org.springframework.web.multipart.MultipartFile;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;

/**
 * 多文件上传工具
 * @author xiongyu
 * @version Create at ：2017/5/23 17:02
 */

public class FileUploadUtils {


//    /***
//     * 文件上传处理方法
//     * @param files 上传的文件列表
//     * @param Path 上传文件的路径目标路径
//     * @return 列表中的文件是否上传成功
//     */
//    public static String uploadFilse(MultipartFile[] files, String Path) {
//
//        List<FileUploadState> list = new ArrayList<>();
//
//        for (MultipartFile file : files) {
//            if(!file.getOriginalFilename().isEmpty()) {
//                String name = makeFileName(file.getOriginalFilename());
//                try {
//
//                    byte[] bytes = file.getBytes();
//                    File dir = new File(makePath(Path));
//                    if (!dir.exists()) {
//                        dir.mkdirs();
//                    }
//
//                    File serverFile = new File(dir.getAbsolutePath() + File.separator + name);
//                    BufferedOutputStream stream = new BufferedOutputStream(
//                            new FileOutputStream(serverFile));
//                    stream.write(bytes);
//                    stream.close();
//                    list.add(new FileUploadState(file.getOriginalFilename(), "success"));
//
//                } catch (Exception e) {
//                    list.add(new FileUploadState(file.getOriginalFilename(), "fail"));
//                }
//            }
//        }
//
//        return new Gson().toJson(list);
//    }
//
//
//    /**
//     * 创建保存文件的路径
//     * @param savePath 根据时间创建自路径
//     * @return
//     */
//    private static String makePath(String savePath) {
//
//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
//        return savePath + File.separator + simpleDateFormat.format(new Date(System.currentTimeMillis()));
//    }
//
//    /**
//     * 重新生成文件名
//     * @param filename 元文件名
//     * @return 根据生成的UUId生成的新文件名
//     */
//    private static String makeFileName(String filename) {
//        return UUID.randomUUID().toString() + "_" + filename;
//    }
}
